package com.sun.async.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sun.async.entity.ImportTask;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.List;

/**
 * 导入任务服务接口
 */
public interface ImportTaskService extends IService<ImportTask> {

    /**
     * 创建导入任务
     * @param file 上传的文件
     * @param taskName 任务名称
     * @return 任务ID
     */
    Long createImportTask(File file, String taskName);

    /**
     * 获取任务详情
     * @param taskId 任务ID
     * @return 任务详情
     */
    ImportTask getTaskDetail(Long taskId);

    /**
     * 获取所有任务列表
     * @return 任务列表
     */
    List<ImportTask> listAllTasks();

    /**
     * 下载错误文件
     * @param taskId 任务ID
     * @param response HTTP响应
     */
    void downloadErrorFile(Long taskId, HttpServletResponse response) throws IOException;
}